package org.dei.perla.sys.environments;

import java.util.*;

/**
 * Questa classe rappresenta una sessione di PerLa attualmente attiva
 */
public class ActiveSession {

	/**
	 * Elenco degli environment attivi
	 */
	private static ArrayList<Environment> pEnvsArray = new ArrayList<Environment>();
	
	/**
	 * Aggiunge (e attiva) una query, gia' parsata e pronta per essere eseguita
	 * @param parEnvironment
	 * @return TRUE aggiunta correttamente e fatta partire, FALSE altrimenti
	 */
	public static boolean addToSession(Environment parEnvironment) {
		//parEnvironment.start(); //togliere i commenti deve partire appena aggiunto
		return pEnvsArray.add(parEnvironment);
	}
	
	/**
	 * @return L'<code>Iterator</code> per "sfogliare" gli environments attivi
	 */
	public static Iterator<Environment> getActiveEnvironments() {
		return pEnvsArray.iterator();
	}
	
	/**
	 * @return Il numero di Statement attualmente attivi
	 */
	public static int getEnvironmentsNumber() {
		return pEnvsArray.size();
	}
	
	/**
	 * @return L'elenco completo degli environments attivi
	 */
	public static ArrayList<Environment> getEnvironments() {
		return pEnvsArray;
	}
}

